/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package sv.com.dizucar.accion;

import java.util.List;
import javax.faces.bean.ManagedBean;
import javax.faces.bean.ViewScoped;
import sv.com.dizucar.controlador.EstadoQuejaControlador;
import sv.com.dizucar.modelo.EstadoQueja;

/**
 *
 * @author stefanny
 */
@ManagedBean
@ViewScoped
public class EstadoQuejaAccion extends AccionAbstracto{

    private EstadoQueja entidad = new EstadoQueja();
    private EstadoQuejaControlador controlador;
    private boolean nuevoRegistro;
    
    public void crear(){
        try{
            getControlador().crear(this.entidad);
            lanzarMensajeInformacion(this.entidad.getClass().getName() + " creado exitosamente");
            setNuevoRegistro(false);
        }catch(Exception e){
            e.printStackTrace();
            lanzarMensajeError("Error al crear "+ this.entidad.getClass().getName());
        }
    }
    
    public void modificar(){
        try{
            getControlador().modificar(this.entidad);
            lanzarMensajeInformacion(this.entidad.getClass().getName() + " guardado exitosamente");
            setNuevoRegistro(false);
        }catch(Exception e){
            e.printStackTrace();
            lanzarMensajeError("Error al guardar "+ this.entidad.getClass().getName());
        }
    }
    
    public void eliminar(){
        try{
            getControlador().eliminar(this.entidad);
            lanzarMensajeInformacion(this.entidad.getClass().getName() + " eliminado exitosamente");
        }catch(Exception e){
            e.printStackTrace();
            lanzarMensajeError("Error al eliminar "+ this.entidad.getClass().getName());
        }
    }
    
    public List<EstadoQueja> obtenerTodos(){
        return getControlador().listaEntidades();
    }
    
    public void generarNuevaEntidad(){
        setEntidad(new EstadoQueja());
        setNuevoRegistro(true);
        System.out.println("Nuevo registro : "+ isNuevoRegistro());
    }
    
    public void seleccionEntidadListaDatos(){
        setNuevoRegistro(false);
        System.out.println("Nuevo registro : "+ isNuevoRegistro());
    }
    

    public EstadoQuejaControlador getControlador() {
        if(controlador==null)
            controlador = new EstadoQuejaControlador();
        return controlador;
    }

    public EstadoQueja getEntidad() {
        return entidad;
    }

    public void setEntidad(EstadoQueja entidad) {
        this.entidad = entidad;
    }

    public boolean isNuevoRegistro() {
        return nuevoRegistro;
    }

    public void setNuevoRegistro(boolean nuevoRegistro) {
        this.nuevoRegistro = nuevoRegistro;
    }

 
    
    
    
    
}
